#include ".\74HC165and595\74HC165and595.h"

//获得74HC165的16位输入值并返回
 uint16_t X_vaule=0;
uint16_t get_74HC165(void)
{
		X_vaule=0;
	  PL(0);//PL置0锁存输入
	  PL(1);
    //串行输入，读取16次
    for (uint8_t i = 0; i < 16; i++) 
    {
				if(Q7)
        X_vaule|=(1<<i);
        CLK(1);//时钟信号clk上升沿有效
        CLK(0);//时钟复位
    }
    return X_vaule;
}
//设置输出扩展模块的y0~y8电平，
void set_74HC595(uint8_t ux)
{
   SCLK(1);//输入复位引脚低电平有效
   RCK(0);//储存寄存器先复位
   for (uint8_t i = 0; i < 8; i++)
   {
        if(ux & (0x01 << i))
        SEC(1);
        else 
        SEC(0);
        SCK(0);
        SCK(1);//SCK置位上传数据

   }
   RCK(1);
   RCK(0);//输出储存寄存器内的电平    
}
void init_74Hxx(void)
{
	set_74HC595(0xff);//将74HC595的输出全部置1
}
